package web.fabrimind.dm.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import web.fabrimind.common.annotation.Excel;
import web.fabrimind.common.core.domain.BaseEntity;

/**
 * 设备维护记录对象 equipment_maintenance
 * 
 * @author zhihui
 * @date 2025-03-25
 */
public class EquipmentMaintenance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维护ID */
    private Long maintenanceId;

    /** 维护编号 */
    @Excel(name = "维护编号")
    private String maintenanceCode;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long equipmentId;

    /** 维护类型（1:日常保养 2:定期维护 3:故障维修） */
    @Excel(name = "维护类型", readConverterExp = "1=:日常保养,2=:定期维护,3=:故障维修")
    private String maintenanceType;

    /** 维护人员ID */
    @Excel(name = "维护人员ID")
    private Long maintainerId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** */
    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 状态（0:未开始 1:进行中 2:已完成） */
    @Excel(name = "状态", readConverterExp = "0=:未开始,1=:进行中,2=:已完成")
    private String status;

    /** 故障描述 */
    @Excel(name = "故障描述")
    private String faultDescription;

    /** 维护结果 */
    @Excel(name = "维护结果")
    private String maintenanceResult;

    /** 维护成本 */
    @Excel(name = "维护成本")
    private BigDecimal cost;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;


    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public void setMaintenanceId(Long maintenanceId)
    {
        this.maintenanceId = maintenanceId;
    }

    public Long getMaintenanceId() 
    {
        return maintenanceId;
    }
    public void setMaintenanceCode(String maintenanceCode) 
    {
        this.maintenanceCode = maintenanceCode;
    }

    public String getMaintenanceCode() 
    {
        return maintenanceCode;
    }
    public void setEquipmentId(Long equipmentId) 
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId() 
    {
        return equipmentId;
    }
    public void setMaintenanceType(String maintenanceType) 
    {
        this.maintenanceType = maintenanceType;
    }

    public String getMaintenanceType() 
    {
        return maintenanceType;
    }
    public void setMaintainerId(Long maintainerId) 
    {
        this.maintainerId = maintainerId;
    }

    public Long getMaintainerId() 
    {
        return maintainerId;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setFaultDescription(String faultDescription) 
    {
        this.faultDescription = faultDescription;
    }

    public String getFaultDescription() 
    {
        return faultDescription;
    }
    public void setMaintenanceResult(String maintenanceResult) 
    {
        this.maintenanceResult = maintenanceResult;
    }

    public String getMaintenanceResult() 
    {
        return maintenanceResult;
    }
    public void setCost(BigDecimal cost) 
    {
        this.cost = cost;
    }

    public BigDecimal getCost() 
    {
        return cost;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("maintenanceId", getMaintenanceId())
            .append("maintenanceCode", getMaintenanceCode())
            .append("equipmentId", getEquipmentId())
            .append("maintenanceType", getMaintenanceType())
            .append("maintainerId", getMaintainerId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("status", getStatus())
            .append("faultDescription", getFaultDescription())
            .append("maintenanceResult", getMaintenanceResult())
            .append("cost", getCost())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("equipmentName", getEquipmentName())
            .toString();
    }
}
